package com.example.lotterysystem.controller.result;

import com.example.lotterysystem.service.enmus.ActivityPrizeTiersEnum;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

@Data
public class GetActivityDetailResult implements Serializable {
    //活动信息

    private Long activityId;

    private String activityName;

    private String description;

    private Boolean valid;

    //奖品信息（列表）

    private List<Prize> prizes;

    //人员信息（列表）

    private List<User> users;

    @Data
    public static class Prize {
        /**
         * 奖品id
         */
        private Long prizeId;
        /**
         * 奖品名
         */
        private String name;
        /**
         * 图片索引
         */
        private String imageUrl;
        /**
         * 价格
         */
        private BigDecimal price;
        /**
         * 描述
         */
        private String description;
        /**
         * 奖品等级(这和之前的DTO不一样，前端页面只需要String，不需要枚举）
         * @see ActivityPrizeTiersEnum#getMessage()
         */
        private String prizeTierName;
        /**
         * 奖品数量
         */
        private Long prizeAmount;
        /**
         * 奖品是否有效
         */
        private Boolean valid;
    }

    @Data
    public static class User {
        //用户ID
        private Long userId;
        //用户名
        private String userName;
        //人员是否被抽取
        private Boolean valid;

    }
}
